<?php
declare (strict_types = 1);
namespace app\validate;

use think\Validate;

class Version extends Validate
{
    /**
     * 定义验证规则
     */
    protected $rule = [
        'id'        => 'require|integer',
        'sid'       => 'require|integer',
        'ids'       => 'require|array',
        'config'    => 'require|array',
        'status'    => 'require|in:0,1',
    ];

    /**
     * 定义错误信息
     */
    protected $message = [
        'id.require'     => '缺少可操作数据标识',
        'id.integer'     => '提交数据格式非法',
        'sid.require'    => '请先选择软件',
        'sid.integer'    => '提交数据格式非法',
        'ids.require'    => '缺少可操作数据标识',
        'ids.integer'    => '提交数据格式非法',
        'config.require' => '自定义配置信息不得为空',
        'config.array'   => '自定义配置信息错误',
        'status.require' => '状态不能为空',
        'status.in'      => '状态数据异常, 请刷新',
    ];

    // 搜索
    public function sceneSearch()
    {
        return $this->only(['sid', 'status'])
            ->remove('sid', 'require')
            ->remove('status', 'require');
    }

    // 新增
    public function sceneAdd()
    {
        return $this->only(['sid', 'config', 'status']);
    }

    // 编辑
    public function sceneEdit()
    {
        return $this->only(['id', 'sid', 'config', 'status']);
    }

    // 删除
    public function sceneDelete()
    {
        return $this->only(['ids']);
    }
}
